-
Notifications
You must be signed in to change notification settings - Fork 30
🎨 Add fallback traefik 503 routes 🚨⚠️ DEVOPS #7899
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
🎨 Add fallback traefik 503 routes 🚨⚠️ DEVOPS #7899
Conversation
Add fallback routes that will take effect once main services (e.g. webserver is not in `running` state). Once service is not in `running` state, its configuration is removed from traefik leading to 404. Related Issue(s): * ITISFoundation/osparc-ops-environments#218 Related PR(s): * ITISFoundation/osparc-ops-environments#950
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #7899 +/- ##
==========================================
+ Coverage 87.94% 87.98% +0.03%
==========================================
Files 1845 1838 -7
Lines 71130 70940 -190
Branches 1220 1220
==========================================
- Hits 62558 62419 -139
+ Misses 8220 8168 -52
- Partials 352 353 +1
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks!
@Mergifyio queue |
🟠 Waiting for conditions to match
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀 🪨
comment see parent PR ITISFoundation/osparc-ops-environments#950 (review)
@Mergifyio queue |
🟠 Waiting for conditions to match
|
|
Do not merge before |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx
What do these changes do?
Add fallback routes that will take effect once main services (e.g. webserver is not in
running
state). This fallback routes will trigger 503 traefik default response which is a proper response when simcore service is not inrunning
state.By default traefik removes configuration of services that are not in running state (this leads to
404
) traefik/traefik#7842Next steps
Ship relevant html / json content back to users. We need to discuss what is proper content and in which scenarios we need to serve it.
Implementation details
https://doc.traefik.io/traefik/providers/swarm/#allowemptyservices traefik configuration setting was tested but had no effect as reported in traefik/traefik#11827
We don't have traefik healthcheck for
simcore traefik
. Since we need to introduce healthcheck per traefik-service and simcore traefik defines multiple of those, introducing extra 3 calls on traefik service might be an overkill. It is not clear is this healthcheck makes sense in general as it runs against traefik itself 🤷Related issue/s
Related PR(s)
invitaitons
service as its traefik config lives inops
reposimcore traefik
(this routes configureops traefik
)How to test
Scale exposed simcore service (e.g.
webserver
to0
replicas). Open platform in browser and ensure you get503
error withUnavailable service
message (instead of404 not found
)Dev-ops